<?php
/**
 *  Validamos si los campos son alfanumericos de una determinada longitud
 *  Validamos que no exista
 * @param <type> $ep
 */
function validate($ep){
    //Carga de css
    $ep->css="css/cssRegistro.css";
    //Validacion de formulario
    $submit=$_REQUEST["submit"];
    //Sólo validaremos y ejecutaremos en caso de que sea una subida desde el
    //formulario, en otro caso devolvemos false y mostramos el formulario.
    if($ep->logeado()){
        
    $salida=true;
    if($submit!=""){
        $user=$_REQUEST["user"];
        $password1=$_REQUEST["password1"];
        $password2=$_REQUEST["password2"];
        $email=$_REQUEST["email"];
        //El user y password se pasan a minusculas
        $user=strtolower($user);
        $password1=strtolower($password1);
        $password2=strtolower($password2);
        //validacion parametrica
        //validacion user
        if(!valid_user($user)){
            $salida=false;
            $ep->error("El nombre de usuario introducido tieene que estar formado por caracteres alfanumericos.");
        }
        //validacion email
        if(!valid_email($email)){
            $salida=false;
            $ep->error("El email es incorrecto.");
        }
        //validacion de contraseña
        if(!valid_string($password1)){
            $salida=false;
            $ep->error("La contraseña introducida tiene que estar formada por caracteres alfanumericos.");
        }
        if($password1!=$password2){
            $salida=false;
            $ep->error("Las contraseñas no coinciden");
        }

        //validacion de estructura de datos
        if($salida){
            //Existencia de usuario
            $existe= name_exist($ep,$user);
            if($existe){
                //aunque exista si es el si vale pero si es otro no vale
                $local_user=$ep->session_vars['user'];
                if(strcmp($local_user, $user)){
                    $salida=false;
                    $ep->error("El usuario $user, ya existe.");
                }
            }
            
        }
        //Datos solo si submit
        
            $vars= Array();
            $vars['submit']=$submit;
            $vars['user']=$user;
            $vars['password']=$password1;
            $vars['email']=$email;
            $ep->vars=$vars;
    }
    }else{
        $ep->error("No esta logeado.");
        //header ("Location: index.php?command=login");//da algún tipo de error que no comprendo
        $salida=false;
    }
    return $salida;
}
/**
 *  Sólo se ejecuta si la validación es correcta
 * @param <type> $ep
 */
function execute($ep){
    //introduce_acciones($ep);
    $vars=$ep->vars;
    $submit=$vars['submit'];
    if($submit==""){
        //obtenomos los datos de la base de datos
        $id_usuario=$ep->session_vars['id_usuario'];
        $usuario=get_user($ep,$id_usuario);
        $vars= Array();
        $vars['submit']=$submit;
        $vars['id_usuario']=$id_usuario;
        $vars['user']=$usuario['user'];
        $vars['email']=$usuario['email'];
        $ep->vars=$vars;
    }else{
        //obtenemos los datos del formulario y están validados
        $id_usuario=$ep->session_vars['id_usuario'];
        //$user=$vars['user'];
        $password=$vars['password'];
        $email=$vars['email'];
        $num_afect=edituser($ep,$id_usuario,$user,$password,$email);
        if($num_afect!=1){
            $ep->error("Error inesperado al editar usuario o no hay cambios en el perfil de usuario.");
        }else{
            //esto habria que modificarlo
            //header ("Location: index.php?command=logout");
            $ep->relogin();
        }
    }
    
}
/**
 *  Esto se ejecuta este o no validado
 * @param <type> $ep
 */
function show($ep){
        $vars=$ep->vars;
        $submit=$vars['submit'];
        //Variables de autorelleno
        $user=$vars['user'];
        $email=$vars['email'];
        //formulario de registro
?>
<br/>
<div id="div_form">

      <form  method="post" action="" onsubmit="return validaRegistro()">

        <div id="div_datos">

          <fieldset>

            <legend>Cambiar datos de usuario</legend>
            <div id="div_errores" class="error">

		  	</div>

			<div id="div_usuario">
              <label id="label_usuario" for="usuario">Usuario: </label><?php echo $user?>
            </div>

			<div id="div_email">
              <label id="label_email" for="email">Email:</label>
              <input id="email" name="email" type="text" value="<?php echo $email?>"/>
          	</div>

			<div id="div_password">
              <label id="label_password" for="password">Password:</label>
              <input id="password" name="password1" type="password"/>
            </div>

			<div id="div_password2">
              <label id="label_password2" for="password2">Reescribe el Password:</label>
              <input id="password2" name="password2" type="password"/>
            </div>
            
          </fieldset>
          <input type="hidden" name="command" value="edituser" />
		  <div id="div_submit">
            <input id="submit" type="submit" name="submit" value="Cambiar" />
          </div>

        </div>
      </form>

	 </div>
<a href="?command=deleteuser" onclick="return confirm('¿Está seguro? Esta acción no se podra deshacer, su usuario quedará eliminado definitivamente.');">Eliminar usuario.</a>

<?php
}
?>